package com.ssy.lingxi.after.sale.api.model.vo.request;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;

/**
 * 售后换货新增发货单VO
 * @author 伍将
 * @date 2020/9/17
 * @version 2.0.0
 */
public class ReplaceAddDeliveryGoodsVO implements Serializable {
    private static final long serialVersionUID = 608557132109700654L;

    /**
     * 换货id
     */
    @NotNull(message = "换货Id要大于0")
    @Positive(message = "换货Id要大于0")
    private Long replaceId;

    /**
     * 发货单id
     */
    @NotNull(message = "发货单Id要大于0")
    @Positive(message = "发货单Id要大于0")
    private Long deliveryId;

    /**
     * 发货单号
     */
    @NotBlank(message = "发货单号不能为空")
    private String deliveryNo;

    /**
     * 发货时间
     */
    @NotNull(message = "发货时间不能为空")
    private Long deliveryTime;

    /**
     * 商品列表
     */
    @Valid
    @NotNull(message = "商品不能为空")
    @Size(min = 1, message = "至少有一个商品")
    private List<ReplaceAddGoodsDetailVO> detailList;

    /**
     * 操作会员
     */
//    @NotNull(message = "操作会员不能为空")
//    @Valid
    private UserLoginCacheDTO member;

    public UserLoginCacheDTO getMember() {
        return member;
    }

    public void setMember(UserLoginCacheDTO member) {
        this.member = member;
    }

    public Long getDeliveryId() {
        return deliveryId;
    }

    public void setDeliveryId(Long deliveryId) {
        this.deliveryId = deliveryId;
    }

    public Long getReplaceId() {
        return replaceId;
    }

    public void setReplaceId(Long replaceId) {
        this.replaceId = replaceId;
    }

    public String getDeliveryNo() {
        return deliveryNo;
    }

    public void setDeliveryNo(String deliveryNo) {
        this.deliveryNo = deliveryNo;
    }

    public Long getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(Long deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public List<ReplaceAddGoodsDetailVO> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<ReplaceAddGoodsDetailVO> detailList) {
        this.detailList = detailList;
    }
}
